from abc import ABC, abstractmethod


class AbstractBlobStore(ABC):
    @abstractmethod
    def get_blob(self, key: bytes) -> bytes | None: ...

    @abstractmethod
    def put_blob(self, key: bytes, value: bytes | memoryview) -> bytes: ...

    @abstractmethod
    def flush(self): ...
